// import { Configuration } from 'webpack'
/* eslint-disable */ 
const bodyParser = require('body-parser');
const JWT = require('jsonwebtoken');
const { list } = require('./src/mock')
// 用户列表
const userList = [{
	username: 'admin',
	password: 'admin',
	role: 'admin'
}, {
	username: '张三',
	password: '123',
	role: 'user'
}]

/**
 * @type Configuration
*/
const config = {
	devServer: {
		before(app) {
			// 使用中间件
			app.use(bodyParser.json())
			// 处理登录请求
			app.post('/api/user/login', (req, res) => {
				// 获取用户名和密码
				const { username, password } = req.body;
				// 验证 用户名和密码是否同时存在
				const isUser = userList.find(v => v.username === username && v.password === password)

				// 存在
				if(isUser) {
					res.send({
						code: 200,
						data: null,
						mess: 'success',
						// 使用jsonwebtoken 插件生成token 
						token: JWT.sign({ username }, '666666'),
						// 角色
						role: isUser.role
					})
				
					// 不存在
				} else {
					res.send({
						code: 403,
						data: null,
						mess: '账户密码错误！！！',
					})
				}
			})
			// 用户列表
			app.get('/api/user/list', (req, res) => {
				const { pageCode = 1, pageSize = 10 } = req.query
				res.send({
					code: 200,
					data: {
						data: list.slice((pageCode - 1) * pageSize, pageCode * pageSize),
						total: list.length
					}
				})
			})

			app.post('/api/user/delete', (req, res) => {
				const { id } = req.body
				list = list.filter(v => +v.id !== +id )
				res.send({
					code: 200
				})
			})
		}
	}
}


module.exports = config